package cn.gg.benchmark.util;

/**
 * 计时工具类
 * 
 * @author Jarod Yv
 */
public class TimeUtil {
	/* 记录一次计时的开始时间 */
	private static long startTime = 0;
	/* 记录一次计时的结束时间 */
	private static long stopTime = 0;

	/**
	 * 开始一次计时。将当前时间保存到开始时间
	 */
	public static final void startTiming() {
		startTime = System.currentTimeMillis();
	}

	/**
	 * 结束一次计时。将当前时间保存到结束时间
	 */
	public static final void stopTiming() {
		stopTime = System.currentTimeMillis();
	}

	/**
	 * 获取两次计时的时间间隔。 如果缺失一端的时间点，则返回-1。
	 * 
	 * @return 时间间隔
	 */
	public static final long getTime() {
		if (startTime == 0 || stopTime == 0)
			return -1;
		return stopTime - startTime;
	}

	/**
	 * 重置开始时间和结束时间
	 */
	public static final void reset() {
		startTime = 0;
		stopTime = 0;
	}
}
